perm filename LEPAUX.HDR[NEW,AIL] blob
sn#408294 filedate 1979-01-08 generic text, type T, neo UTF8
IFC DECLARATION(GLOBSW)=0 THENC DEFINE GLOBSW=0;
IFCR GLOBSW THENC
DEFINE MIN_GLOBAL_ITEM_NUMBER='6000;
ENDC
REQUIRE "LEPAUX.REL[S,RHT]" LOAD_MODULE;
EXTERNAL STRING ARRAY RIPNMS[0:7];
EXTERNAL SIMPLE STRING PROCEDURE ITMNAM(ITEMVAR N);
EXTERNAL SIMPLE PROCEDURE SET_TYPE(ITEMVAR FOO;INTEGER TYP);
EXTERNAL SIMPLE ITEMVAR PROCEDURE XITEM(STRING ID);
EXTERNAL PROCEDURE CPRLNS(ITEMVAR P1,P2);
REQUIRE "⊂⊃⊂⊃" DELIMITERS;
DEFINE DXITEM(ID,V)=⊂
ITEMVAR ID;
IFCR ¬(DECLARATION(ID) LAND CHECK_TYPE(EXTERNAL)) THENC
REDEFINE DFITMSUBR="NEW_"&"ID";
SIMPLE PROCEDURE DFITMSUBR;
BEGIN
DEFINE VVSW="V";
IFCR LENGTH(CVMS(VVSW)) THENC
INTEGER FLG;
ID←CVSI("ID",FLG);
IF FLG THEN NEW_PNAME(ID←NEW(V),"ID");
ELSEC
ID←XITEM("ID");
ENDC
END;
REQUIRE DFITMSUBR INITIALIZATION
REDEFINE DFITMSUBR="";
ENDC
⊃;
DEFINE UNBOUND(X)=⊂(X=ANY∨X=BINDIT)⊃;
DEFINE NEC=⊂BINDIT⊃; COMMENT Old English for "nothing";
DEFINE COPYRELNS=⊂CPRLNS⊃;
EXTERNAL LIST PROCEDURE REVLST(LIST L);
EXTERNAL SIMPLE ITEMVAR PROCEDURE IMUNGE(ITEMVAR I;INTEGER T(1),D(0),P(0));
EXTERNAL SIMPLE ITEMVAR PROCEDURE NAME_ITEM(ITEMVAR ITM;STRING ID);
EXTERNAL SIMPLE ITEMVAR PROCEDURE ZAPITEM(ITEMVAR ITM);
EXTERNAL ITEMVAR PROCEDURE BTRIP(ITEMVAR A,O,V);
EXTERNAL ITEMVAR PROCEDURE COPYITEM(ITEMVAR IV);
EXTERNAL RECURSIVE MATCHING PROCEDURE EQVRLN(? ITEMVAR A,V1,V2);
EXTERNAL SIMPLE ITEMVAR PROCEDURE PRPCHK(ITEMVAR I;INTEGER P);
EXTERNAL SIMPLE ITEMVAR PROCEDURE PRPON(ITEMVAR I;INTEGER P);
EXTERNAL SIMPLE ITEMVAR PROCEDURE PRPOFF(ITEMVAR I;INTEGER P);
EXTERNAL SIMPLE ITEMVAR PROCEDURE ITPCHK(ITEMVAR I;INTEGER T);
COMMENT STANDARD PROP BITS;
IFCR FALSE THENC
COMMENT **** ALL THIS HAS TIMED OUT ****;
DEFINE RECORDBIT = '4000; COMMENT RHT style record in datum;
DEFINE ITEMPBIT = '2000; COMMENT a "temporary" item such as
one might use to pass a message.
Marking an item as "temp" authorizes
anyone to kill it;
DEFINE LSTMSGBIT = '1000; COMMENT bit set if datum is a "list message".
used in process communication, etc;
DEFINE IS_TI(X) =⊂(PROPS(X) LAND ITEMPBIT)⊃;
DEFINE TI(X) = ⊂PRPON(X,ITEMPBIT)⊃;
DEFINE UN_TI(X) = ⊂PRPOFF(X,ITEMPBIT)⊃;
DEFINE LSTMSG(L)=⊂PRPON(ITPCHK(NEW(L),7),LSTMSGBIT)⊃;
ENDC
REQUIRE UNSTACK_DELIMITERS;